<?php
/**
 * 服务员-服务者
 * 2019年12月29日18:47:17
 */
namespace Application\Common\Command;

class Server
{
    // 命令储存位置
    public $command_book = __DIR__.'/Command.json.txt';
    // 增加命令
    public function addCommand($command = null)
    {
        if(empty($command)){
            return false;
        }
        $command = array(
            0, # 命令状态：0未处理、1已处理、2撤销处理、3恢复处理
            $command, # 命令
            '未完成', # 命令状态
        );
        file_put_contents($this -> command_book,json_encode($command).",\n",FILE_APPEND);
        return true;
    }
    // 获取处理的命令详情
    public function getExecCommandInfo()
    {
        // 获取所有命令
        $commands = file_get_contents($this -> command_book);
        $commands = str_getcsv($commands,"\n")?:array();
        // 已完成
        $already_exec = array();
        // 未完成
        $not_exec = array();
        // 过滤已经处理的命令
        if(!empty($commands)){
            foreach($commands as $k => $v){
                $v = json_decode(trim($v,','));
                if($v[0] === 1){
                    $already_exec[] = $v;
                }else{
                    $not_exec[] = $v;
                }
            }
            unset($commands);
        }
        return array(
            'already_exec' => $already_exec,
            'not_exec' => $not_exec,
        );;
    }
}
